<?php

function generaFormPHP($meta){

$atributs = $meta->getAtributs();
$atributs = explode(" ,", $atributs);
$tipus = $meta->getTipus();
$tipus = explode(" ,", $tipus);

$taula = $meta->getTaula();
$pk = $meta->getPk();
$idiomes = $meta->getNumIdiomes();

$variable = "<?php
header(\"Content-type: text/html; charset=utf-8\");
include('autenticacion.php');
include('funciones.php');
require_once('Database.class.php');
\$db = Database::getInstance();
\$db->getConnection();

\$accio = \$_POST['accio'];
";
for( $i=0; $i<count($atributs); $i++ ){
	if( substr ($atributs[$i], 0, 4) == "img_" or substr ($atributs[$i], 0, 5) == "file_" ){
		$variable .= "
		\$$atributs[$i]Where = \"\";
		\$$atributs[$i] = \"\";
		if( isset( \$_FILES['$atributs[$i]']['size'] ) && ( \$_FILES['$atributs[$i]']['size'] > 0 ) ) {
			\$tmp_nom = \$_FILES['$atributs[$i]']['tmp_name'];
			\$nom = \$_FILES['$atributs[$i]']['name'];
			\$tamany = \$_FILES['$atributs[$i]']['size'];
			\$extensio = substr(\$_FILES['$atributs[$i]']['name'], -3);
			\$nom_aleatori = Date('Y_m_d_H_i_s').\"_\".rand(10, 99);
			\$$atributs[$i] = \"uploads/\".\$nom_aleatori.\".\".\$extensio;
			\$ruta_fitxer = \"../\".\$$atributs[$i];
			if( !move_uploaded_file( \$tmp_nom, \$ruta_fitxer) ) {
				echo \"{failure:true}\";
			}else{
				\$$atributs[$i]Where = \", $atributs[$i]='\$$atributs[$i]'\";
				@chmod(\$ruta_fitxer, 0777);
				echo \"{success:true}\";
			}
		}else{
			echo \"{success:true}\";
		}
		\n";
	}
}
$variable .="
if( \$accio == 'UPDATE'){
";
for( $i=0; $i<count($atributs); $i++ ){
	//PK o ID2 o IDIOMA
	if( $atributs[$i] == $pk or $atributs[$i] == "id2" or $atributs[$i] == "idioma" ){
		$variable .= "\t$$atributs[$i] = \$_POST['$atributs[$i]'] != '' ? \$_POST['$atributs[$i]'] : 0;\n";
	}
}

$variable .= "\n";

for( $j=1; $j<=$idiomes; $j++ ){
	$variable_aux = "\t\$query = \"UPDATE $taula SET ";
	$variable_aux2 = "";
	for( $i=0; $i<count($atributs); $i++ ){
		//ALTRES
		if( $atributs[$i] != $pk and $atributs[$i] != "id2" and $atributs[$i] != "idioma" ){
			switch ( $tipus[$i] ){
				case 'string':
					if( substr ($atributs[$i], 0, 4) == "img_" or substr ($atributs[$i], 0, 5) == "file_" ){
						$variable_aux2 .= " \$$atributs[$i]Where";
					}else{
						$variable .= "\t$$atributs[$i]$j = \$_POST['$atributs[$i]$j'] != '' ? fixMagicQuotes(\$_POST['$atributs[$i]$j']) : '';\n";
						$variable_aux .= "$atributs[$i]='$$atributs[$i]$j', ";
					}
				break;
				case 'blob':
					$variable .= "\t$$atributs[$i]$j = \$_POST['$atributs[$i]$j'] != '' ? fixMagicQuotes(\$_POST['$atributs[$i]$j']) : '';\n";
					$variable_aux .= "$atributs[$i]='$$atributs[$i]$j', ";
				break;
				case 'time':
					$variable .= "\t$$atributs[$i]$j = \$_POST['$atributs[$i]$j'] != '' ? \$_POST['$atributs[$i]$j'] : '00:00:00';\n";
					$variable_aux .= "$atributs[$i]='$$atributs[$i]$j', ";
				break;
				case 'date':
					$variable .= "\t$$atributs[$i]$j = \$_POST['$atributs[$i]$j'] != '' ? decodeDate(\$_POST['$atributs[$i]$j']) : '0000-00-00';\n";
					$variable_aux .= "$atributs[$i]='$$atributs[$i]$j', ";
				break;
				case 'int':
					$variable .= "\t$$atributs[$i]$j = \$_POST['$atributs[$i]$j'] != '' ? \$_POST['$atributs[$i]$j'] : 0;\n";
					$variable_aux .= "$atributs[$i]=$$atributs[$i]$j, ";
				break;
				case 'real':
					$variable .= "\t$$atributs[$i]$j = \$_POST['$atributs[$i]$j'] != '' ? \$_POST['$atributs[$i]$j'] : 0;\n";
					$variable_aux .= "$atributs[$i]='$$atributs[$i]$j', ";
				break;
				default:
					$variable .= "\t$$atributs[$i]$j = \$_POST['$atributs[$i]$j'] != '' ? fixMagicQuotes(\$_POST['$atributs[$i]$j']) : '';\n";
					$variable_aux .= "$atributs[$i]='$$atributs[$i]$j', ";
				break;
			}
		}
	}
	$variable_aux = substr ($variable_aux, 0, -2); //eliminem ,  de l'ultim camp
	$variable_aux .= $variable_aux2;
	$variable_aux .= " WHERE id2 = \$id2 AND idioma = $j\";\n";
	$variable_aux .= "\t\$result = mysql_query(\$query);\n\n";
	$variable .= $variable_aux;
	
}

$variable .= "
}

if( \$accio == 'INSERT'){
	\$query = \"SELECT MAX(id2) as 'lastid' FROM $taula\";
	\$result = mysql_query(\$query);
	if( isset(\$result) ){ 
		\$rec = mysql_fetch_array(\$result);
		\$id2=\$rec['lastid']+1;
";
		for( $j=1; $j<=$idiomes; $j++ ){
			$variable_aux = "\t\t\$query2 = \"INSERT INTO $taula ( id2, idioma, ";
			$variable_aux2 = "( \$id2, $j, ";
			for( $i=0; $i<count($atributs); $i++ ){
				//ALTRES
				if( $atributs[$i] != $pk and $atributs[$i] != "id2" and $atributs[$i] != "idioma" ){
					switch ( $tipus[$i] ){
						case 'string':
						if( substr ($atributs[$i], 0, 4) == "img_" or substr ($atributs[$i], 0, 5) == "file_" ){
							$variable_aux .= "$atributs[$i], ";
							$variable_aux2 .= "'$$atributs[$i]', ";
						}else{
							$variable .= "\t\t$$atributs[$i]$j = \$_POST['$atributs[$i]$j'] != '' ? fixMagicQuotes(\$_POST['$atributs[$i]$j']) : '';\n";
							$variable_aux .= "$atributs[$i], ";
							$variable_aux2 .= "'$$atributs[$i]$j', ";
						}
						break;
						case 'blob':
							$variable .= "\t\t$$atributs[$i]$j = \$_POST['$atributs[$i]$j'] != '' ? fixMagicQuotes(\$_POST['$atributs[$i]$j']) : '';\n";
							$variable_aux .= "$atributs[$i], ";
							$variable_aux2 .= "'$$atributs[$i]$j', ";
						break;
						case 'time':
							$variable .= "\t\t$$atributs[$i]$j = \$_POST['$atributs[$i]$j'] != '' ? \$_POST['$atributs[$i]$j'] : '00:00:00';\n";
							$variable_aux .= "$atributs[$i], ";
							$variable_aux2 .= "'$$atributs[$i]$j', ";
						break;
						case 'date':
							$variable .= "\t\t$$atributs[$i]$j = \$_POST['$atributs[$i]$j'] != '' ? decodeDate(\$_POST['$atributs[$i]$j']) : '0000-00-00';\n";
							$variable_aux .= "$atributs[$i], ";
							$variable_aux2 .= "'$$atributs[$i]$j', ";
						break;
						case 'int':
							$variable .= "\t$$atributs[$i]$j = \$_POST['$atributs[$i]$j'] != '' ? \$_POST['$atributs[$i]$j'] : 0;\n";
							$variable_aux .= "$atributs[$i], ";
							$variable_aux2 .= "$$atributs[$i]$j, ";
						break;
						case 'real':
							$variable .= "\t$$atributs[$i]$j = \$_POST['$atributs[$i]$j'] != '' ? \$_POST['$atributs[$i]$j'] : 0;\n";
							$variable_aux .= "$atributs[$i], ";
							$variable_aux2 .= "'$$atributs[$i]$j', ";
						break;
						default:
							$variable .= "\t\t$$atributs[$i]$j = \$_POST['$atributs[$i]$j'] != '' ? fixMagicQuotes(\$_POST['$atributs[$i]$j']) : '';\n";
							$variable_aux .= "$atributs[$i], ";
							$variable_aux2 .= "'$$atributs[$i]$j', ";
						break;
					}
				}
			}
			$variable_aux = substr ($variable_aux, 0, -2); //eliminem ,  de l'ultim camp
			$variable_aux2 = substr ($variable_aux2, 0, -2); //eliminem ,  de l'ultim camp
			$variable .= "$variable_aux ) VALUES $variable_aux2 )\";\n";
			$variable .= "\t\t\$result2 = mysql_query(\$query2);\n\n";
		}

$variable .= "			
	}
}

include('desconnexion.php');
?>
";

return $variable;
}

?>